36 research outputs found

    Physical Simulation of Inarticulate Robots

    Full text link
    In this note we study the structure and the behavior of inarticulate robots. We introduce a robot that moves by successive revolvings. The robot's structure is analyzed, simulated and discussed in detail

    OPAM for Coq

    Get PDF

    Mechanical Verification of Interactive Programs Specified by Use Cases

    Get PDF
    International audienceInteractive programs, like user interfaces, are hard to formally specify and thus to prove correct. Some ideas coming from functional programming languages have been successful to improve the way we write safer programs, compared to traditional imperative languages, but these ideas mostly apply to code fragments without any inputs–outputs. Using the purely functional language Coq, we present a new technique to represent interactive programs and formally verify use cases using the Coq proof engine as a symbolic debugger. To this end we introduce the notion of scenarios, well-typed schema of interactions between an environment and a program. We design and certify a blog system as an illustration. Our approach generalizes unit-testing techniques and outlines a new method for mechanically assisted checking of effectful functional programs. I. Introduction Implementing and proving correct interactive programs is challenging. Indeed, interactive programs are hard to reason about because they communicate with an outer environment (the operating system, the network, the user,. . .) which may be under-specified and non determin-istic. Moreover, the communications between the program and the environment can happen at many points during the execution and may depend on previous interactions. Many techniques have been developed to model, specify and prove correct interactive or concurrent programs[15]. For instance, process algebra and temporal logics are well understood abstract models for such programs. In these abstract models, some interesting behavioral properties can be automatically proved by model-checkers. Yet, these tools usually provide guarantees about the model of the program, not its actual implementation. In another approach, called software-proof co-design, the specification and the verification of a program is not disconnected from its actual implementation. In that case, specifying, implementing and verifying are tightly interleaved in the software development process. This tight integration is possible within the Coq proof assistant which is both a programming language and an assisted prover. Yet, even if a realistic compiler for the C language has already been developed in Coq[12], using Coq as a general purpose programming language may be considere

    OPAM for Coq

    Get PDF

    Two nearby sub-Earth-sized exoplanet candidates in the GJ 436 system

    Get PDF
    We report the detection of UCF-1.01, a strong exoplanet candidate with a radius 0.66 +/- 0.04 times that of Earth (R_{\oplus}). This sub-Earth-sized planet transits the nearby M-dwarf star GJ 436 with a period of 1.365862 +/- 8x10^{-6} days. We also report evidence of a 0.65 +/- 0.06 R_{\oplus} exoplanet candidate (labeled UCF-1.02) orbiting the same star with an undetermined period. Using the Spitzer Space Telescope, we measure the dimming of light as the planets pass in front of their parent star to assess their sizes and orbital parameters. If confirmed, UCF-1.01 and UCF-1.02 would be called GJ 436c and GJ 436d, respectively, and would be part of the first multiple-transiting-planet system outside of the Kepler field. Assuming Earth-like densities of 5.515 g/cm^3, we predict both candidates to have similar masses (~0.28 Earth-masses, M_{\oplus}, 2.6 Mars-masses) and surface gravities of ~0.65 g (where g is the gravity on Earth). UCF-1.01's equilibrium temperature (T_{eq}, where emitted and absorbed radiation balance for an equivalent blackbody) is 860 K, making the planet unlikely to harbor life as on Earth. Its weak gravitational field and close proximity to its host star imply that UCF-1.01 is unlikely to have retained its original atmosphere; however, a transient atmosphere is possible if recent impacts or tidal heating were to supply volatiles to the surface. We also present additional observations of GJ 436b during secondary eclipse. The 3.6-micron light curve shows indications of stellar activity, making a reliable secondary eclipse measurement impossible. A second non-detection at 4.5 microns supports our previous work in which we find a methane-deficient and carbon monoxide-rich dayside atmosphere.Comment: Accepted for publication with Ap

    Toward Sustainable Environmental Quality : Priority Research Questions for Asia

    Get PDF
    Environmental and human health challenges are pronounced in Asia, an exceptionally diverse and complex region where influences of global megatrends are extensive and numerous stresses to environmental quality exist. Identifying priorities necessary to engage grand challenges can be facilitated through horizon scanning exercises, and to this end we identified and examined 23 priority research questions needed to advance toward more sustainable environmental quality in Asia, as part of the Global Horizon Scanning Project. Advances in environmental toxicology, environmental chemistry, biological monitoring, and risk-assessment methodologies are necessary to address the adverse impacts of environmental stressors on ecosystem services and biodiversity, with Asia being home to numerous biodiversity hotspots. Intersections of the food–energy–water nexus are profound in Asia; innovative and aggressive technologies are necessary to provide clean water, ensure food safety, and stimulate energy efficiency, while improving ecological integrity and addressing legacy and emerging threats to public health and the environment, particularly with increased aquaculture production. Asia is the largest chemical-producing continent globally. Accordingly, sustainable and green chemistry and engineering present decided opportunities to stimulate innovation and realize a number of the United Nations Sustainable Development Goals. Engaging the priority research questions identified herein will require transdisciplinary coordination through existing and nontraditional partnerships within and among countries and sectors. Answering these questions will not be easy but is necessary to achieve more sustainable environmental quality in Asia. Environ Toxicol Chem 2020;39:1485–1505

    Programmation en Coq

    No full text
    In this thesis, we develop new techniques to conveniently write formally verified programs. To proceed, we study the use of Coq as a programming language in different settings. Coq being a purely functional language, we mainly focus on the representation and on the specification of impure effects, like exceptions, mutable references, inputs-outputs, and concurrency.First, we work on two preliminary projects helping us to understand the challenges of programming in Coq. The first project, Cybele, is a Coq plugin to write efficient proofs by reflection with effects. We compile and execute the impure effects in OCaml to generate a prophecy, a kind of certificate, and then interpret the effects in Coq using the prophecy. The second project, the compiler CoqOfOCaml, imports OCaml programs with effects into Coq, using an effect inference system.Next, we describe different generic and composable representations of impure effects in Coq. The breakable computations combine the standard exceptions and mutable references effects, with a pause mechanism to make explicit the evaluation steps in order to represent the concurrent evaluation of two terms. By implementing the Pluto web server in Coq, we realize that the most important effects to program are the asynchronous inputs-outputs. Indeed, these effects are ubiquitous and cannot be encoded in a purely functional manner. Thus, we design the asynchronous computations as a first way to represent and compile programs with events and handlers in Coq.Then, we study techniques to prove properties about programs with effects. We start with the verification of the blog system ChickBlog written in the language of the interactive computations. This blog runs one worker with synchronous inputs-outputs per client. We verify our blog using the method of specification by use cases. We adapt this technique to type theory by expressing a use case as a well-typed co-program over the program we verify. Thanks to this formalism, we can present a use case as a symbolic test program and symbolically debug it, step by step, using the interactive proof mode of Coq. To our knowledge, this is the first such adaptation of the use case specifications in type theory. We believe that the formal specification by use cases is one of the keys to verify effectful programs, as the method of use cases proved to be convenient to express (informal) specifications in the software industry. We extend our formalism to concurrent and potentially non-terminating programs with the language of concurrent computations. Apart from the use case method, we design a model-checker to verify the deadlock freedom of concurrent computations, by compiling the parallel composition to the non-deterministic choice operator using the language of blocking computationsDans cette thèse, nous cherchons à développer de nouvelles techniques pour écrire plus simplement des programmes formellement vérifiés. Nous procédons en étudiant l'utilisation de Coq en tant que langage de programmation dans différents environnements. Coq étant un langage purement fonctionnel, nous nous concentrons surtout sur la représentation et la spécification d'effets impurs, tel que les exceptions, les références mutables, les entrées-sorties et la concurrence.Nous travaillons premièrement sur deux projets préliminaires qui nous aident à comprendre les défis existants dans la programmation en Coq. Le premier projet, Cybele, est un plugin Coq pour écrire des preuves par réflexion efficaces avec effets. Nous compilons et nous exécutons les effets impurs en OCaml pour générer une prophétie, une forme de certificat, et interprétons les effets dans Coq en utilisant cette prophétie. Le second projet, le compilateur CoqOfOCaml, importe des programmes OCaml avec effets dans Coq en utilisant un système d'inférence d'effets.Puis nous décrivons différentes représentations génériques et composables d'effets impurs en Coq. Les calculs avec pause combinent les effets d'exceptions et de références mutables avec un mécanisme de pause. Ce mécanisme de pause permet de rendre explicite les étapes d'évaluation dans le but de représenter l'évaluation concurrente de deux termes. En implémentant le serveur web Pluto en Coq, nous réalisons que les entrées-sorties asynchrones sont l'effet le plus utile : cet effet est présent dans la plupart des programmes et ne peux être encodé de façon purement fonctionnelle. Nous concevons alors les "calculs asynchrones" comme moyen pour représenter et compiler des programmes avec événements en Coq.Finalement, nous étudions des techniques pour prouver des propriétés à propos de programmes avec effets. Nous commençons avec la vérification du système de blog ChickBlog écrit dans le langage des "calculs interactifs". Ce blog lance un fil d'exécution par client. Nous vérifions notre blog en utilisant une méthode de spécification par cas d'utilisation. Nous adaptons cette technique à la théorie des types en exprimant un cas d'utilisation comme un co-programme bien typé. Grâce à ce formalisme, nous pouvons présenter un cas d'utilisation comme un programme de test symbolique et le déboguer symboliquement, étape par étape, en utilisant le mode interactif de Coq. À notre connaissance, ceci représente la première telle adaptation de la spécification par cas d'utilisation en théorie des types. Nous pensons que la spécification formelle par cas d'utilisation est l'une des clés pour vérifier des programmes avec effets, sachant que la méthode des cas d'utilisation s'est avérée utile dans l'industrie pour exprimer des spécifications informelles. Nous étendons notre formalisme aux programmes concurrents et potentiellement non-terminants, avec le langage des "calculs concurrents". Nous concevons également un vérificateur de modèles pour vérifier l'absence d'interblocage dans un programme concurrent, en compilant la composition parallèle vers l'opérateur de choix non-déterministe

    OPAM for Coq

    No full text

    Composition et distribution des assemblages d’invertébrés dans la zone hyporhéique d’une plaine alluviale de la Moyenne-Durance

    No full text
    Alluvial flood plains are among the most heterogeneous and dynamic ecosystems in the world. This heterogeneity is linked to the mosaic of terrestrial and aquatic habitats in surface waters, as well as to the functional relationships between surface and subsurface waters via the hyporheic zone (i. e. the ecotone between benthic and groundwater compartments). In natural systems, discharge and flow variability influence the connectivity among habitats and ecological conditions within habitats that contribute to the richness of flood plains. However, the natural dynamics of many rivers and streams have been impacted by regulation and low residual discharge that change the composition and structure of invertebrate assemblages. In the Durance River, a regulated river in the south-east of France, the benthic fauna of the main channel has been widely studied, but the hyporheic zone has never been considered. In this study, we present some first data on the composition and the distribution of invertebrate assemblages from the hyporheic zone of an alluvial flood plain located in the middle stretch of the Durance. This study provides some biological informations on a poorly known compartment of this sub-Mediterranean system.Les plaines alluviales comptent parmi les écosystèmes les plus hétérogènes et dynamiques du monde. Cette hétérogénéité est liée à la mosaïque d’habitats aquatiques et terrestres présente en surface ainsi qu’aux relations fonctionnelles qui s’établissent entre les systèmes aquatiques de surface et de subsurface à travers la zone hyporhéique (i. e. écotone entre les compartiments benthique et souterrain). Dans les systèmes fluviaux naturels, les perturbations engendrées par des variations du débit et de la vitesse du courant influencent la connectivité ainsi que les conditions écologiques au sein des habitats contribuant à la richesse des plaines alluviales. Cependant, la dynamique naturelle de nombreux cours d’eau est affectée par la régulation du régime hydrologique et le maintien de débits faibles qui altèrent la composition et la structure des assemblages d’invertébrés. La Durance est un cours d’eau aménagé à débit régulé dont la faune benthique du chenal a été bien étudiée, mais dont la faune peuplant la zone hyporhéique n’a jamais été prise en compte. Dans ce contexte, nous nous sommes intéressés à la composition et à la structure des assemblages d’invertébrés présents dans la zone hyporhéique sensu lato d’une plaine alluviale de la Moyenne-Durance. Cette étude nous a permis d’apporter des informations sur la biologie d’un compartiment mal connu sur ce cours d’eau soumis à des influences climatiques méditerranéennes et à une régulation liée à un grand aménagement hydroélectrique et d’irrigation.Claret Cécile, Lienhardt Gaëlle, Cartier Valentine, Franquet Evelyne, Miralles Guillaume. Composition et distribution des assemblages d’invertébrés dans la zone hyporhéique d’une plaine alluviale de la Moyenne-Durance. In: Ecologia mediterranea, tome 33,2007. pp. 5-13
    corecore